The present invention relates generally to wireless software upgrades in wireless communication systems. More particularly, the present invention relates to a system and method in which software upgrades are provided wirelessly to mobile devices upon detecting that software currently in the mobile devices is outdated.
In recent years, the use of wireless (e.g., cellular) communication systems having mobile devices which wirelessly communicate with a network, such as a local area network (LAN) and a wide area network (WAN), has become widespread. Retail stores and warehouses, for example, may use cellular communications systems to track inventory and replenish stock. The transportation industry may use such systems at large outdoor storage facilities to keep an accurate account of incoming and outgoing shipments. In manufacturing facilities, such systems are useful for tracking parts, completed products, defects, etc.
A typical cellular communication system includes a number of fixed base stations or access points interconnected by a cable medium often referred to as a system backbone. Also included in many cellular communication systems are intermediate base stations which are not directly connected to the system backbone. Intermediate base stations, often referred to as wireless base stations or repeaters, increase the area within which base stations connected to the system backbone can communicate with mobile devices. Unless otherwise indicated, the term xe2x80x9cbase stationxe2x80x9d will hereinafter refer to both base stations hardwired to the network and wireless base stations.
Associated with each base station is a geographic cell. A cell is a geographic area in which a base station has sufficient signal strength to transmit data to and receive data from a mobile device with an acceptable error rate. Typically, base stations will be positioned along the backbone such that the combined cell area coverage from each base station provides full coverage of a building or site. Thus, mobile devices roaming within such an area can maintain continuous communication with a host computer or other device situated along the system backbone.
Each mobile device roaming within a building or site is typically preloaded with software to provide both application level and operational level instructional code (referred to generally herein as xe2x80x9coperating softwarexe2x80x9d). The mobile device includes one or more processors which execute the operating software, thereby allowing the mobile device to carry out its appropriate functions. The software is stored in memory in the mobile device and may be executed at any time depending on the particular operational needs of the mobile device.
Due to changing market needs and advancements in technology, for example, it often happens that the software which is preloaded into a mobile device becomes outdated prior to the time the mobile hardware device becomes obsolete. Therefore, a number of methods for upgrading the operating software stored in a mobile device have been developed.
One known method for updating software in a mobile device is by physically connecting the mobile device to a computer capable of upgrading the software. In order to upgrade software using this technique it is typically necessary to employ one or more service technicians to assist in connecting the mobile device to the computer with a cable or the like and executing the software upgrade routine. This results in down time for the mobile device and related service costs.
Another known method of updating the operating software in a mobile device involves wirelessly transmitting software upgrades to the mobile device. When executing a wireless software upgrade, a mobile device transmits a request to the host computer (via a base station) requesting that the host computer transfer the upgraded software. In order to ensure a mobile device has the most recent version of the operating software, each program within the operating software must be downloaded periodically from the host computer and stored in the mobile device. Unfortunately, the periodic transfer of upgraded operating software to the mobile device can be extremely time consuming and becomes increasingly more time consuming as the number of mobile devices within the system increases. Furthermore, since there is no way to determine if software has been changed since the previous time the mobile device software has been upgraded, time is frequently wasted updating the mobile device operating software with the same version of software which already exists in the mobile device.
In view of the aforementioned shortcomings associated with existing systems and techniques for upgrading mobile device operating software, there is a strong need in the art for a system and method which does not require significant down time or service costs. Moreover, there is a strong need in the art for a system and method which avoids the inefficiencies associated with conventional wireless techniques for upgrading the mobile device operating software.
A wireless communication system and method is provided in which software upgrades are wirelessly transmitted to a mobile device based on a determination of whether such an upgrade is necessary.
According to one embodiment, a wireless communication system includes a system backbone, a host computer coupled to the system backbone, at least one base station coupled to the system backbone, the at least one base station including a base station transceiver for communicating wirelessly with mobile devices within the system, and at least one mobile device having a mobile device transceiver for communicating wirelessly with the host computer on the system backbone via the at least one base station. The at least one mobile device includes a software update schedule table for providing one or more times at which the mobile device is to inquire and obtain available software upgrades. By providing the at least one mobile device with a software update schedule table, the at least one mobile device can be configured to obtain wireless software upgrades at predetermined times. For example, such predetermined times may correspond to times when the host computer is at a low-load level. In this manner, the amount of activity the host computer is subjected to at higher activity or peak times is reduced.
Entries in the software update schedule table may be made manually through a keypad or other user input associate with the at least one mobile device or wirelessly through communications received from the host computer. By providing for wireless updates of the software update schedule table, the host computer can, for example, schedule updates with multiple mobile devices after a known update of the software in the host computer or FTP server is completed. Preferably, wireless updates provided by the host computer are such as to schedule each mobile device to correspond with the host computer and/or FTP server in sequential, non-overlapping time intervals during low-load periods so as to minimize wireless interference and contention in obtaining access to the upgrades software files.
In the event the mobile device is in a sleep mode during a scheduled time for conducting an inquiry as to whether any upgrades of operating software is available, a processor of the mobile device is configured to temporarily place the mobile device in a fully operation mode until a process of determining and obtaining any upgrades operating software is complete. In this manner, updates may be scheduled at low activity periods without the need for an operator to physically activate the mobile device to a full power state.
In accordance with one particular aspect of the invention, a wireless communication system includes a system backbone, a host computer coupled to the system backbone, at least one base station coupled to the system backbone, the at least one base station including a base station transceiver for communicating wirelessly with mobile devices within the system, and at least one mobile device having a mobile device transceiver for communicating wirelessly with the host computer on the system backbone via the at least one base station. A method of operation includes the steps of maintaining in the at least one mobile device a software update schedule table indicating at least one time at which the at least one mobile device is to inquire as to whether an upgrade of operating software is available, determining in the at least one mobile device whether the software update schedule table indicates it is time to inquire as to whether an upgrade of operating software is available, in the event the at least one mobile device determines from the software update schedule table that it is time to initiate obtaining the upgrade of operating software, the at least one mobile device determining whether a version of the operating software stored in the at least one mobile device is a current version of the operating software, and wirelessly updating the operating software stored in the at least one mobile device if it is determined that the operating software stored in the at least one mobile device is not the current version.
In accordance with another particular aspect of the invention, a wireless communication system is provided. The wireless communication system includes a system backbone, a host computer coupled to the system backbone, at least one base station coupled to the system backbone, the at least one base station including a base station transceiver for communicating wirelessly with mobile devices within the system, at least one mobile device having a mobile device transceiver for communicating wirelessly with the host computer on the system backbone via the at least one base station, and wherein the at least one mobile device includes a software update schedule table providing at least one time at which the at least one mobile device is to determine whether to selectively update mobile device operating software with at least one of the host computer and an FTP server coupled to the system backbone based on an initial comparison in accordance with a predetermined criteria indicative of whether updating of the mobile device operating software is appropriate.
In accordance with still another aspect of the invention, a mobile device is provided. The mobile device includes a processor, a memory coupled to the processor, a transceiver for wirelessly transmitting and receiving information, and a software update schedule table stored in the memory, the software update schedule table providing at least one entry indicating a time at which the at least one mobile device is to determine whether to selectively update mobile device operating software with at least one of a host computer and an FTP server coupled to a system backbone based on an initial comparison in accordance with a predetermined criteria indicative of whether updating of the mobile device operating software is appropriate.
To the accomplishment of the foregoing and related ends, the invention, then, comprises the features hereinafter fully described and particularly pointed out in the claims. The following description and the annexed drawings set forth in detail certain illustrative embodiments of the invention. These embodiments are indicative, however, of but a few of the various ways in which the principles of the invention may be employed. Other objects, advantages and novel features of the invention will become apparent from the following detailed description of the invention when considered in conjunction with the drawings.